home *** CD-ROM | disk | FTP | other *** search
- // copyright 1993 Michael B. Johnson; some portions copyright 1994, MIT
- // see COPYRIGHT for reuse legalities
- //
-
- #import <appkit/appkit.h>
- #import "list.h"
- #import <ri/ri.h>
-
- #define WW_UNKNOWN 0
- #define WW_INT 1
- #define WW_FLOAT 2
- #define WW_POINT 3
- #define WW_COLOR 4
- #define WW_STRING 5
-
- typedef struct {
-
- int tag;
- RtObjectHandle handle;
-
- } RIB_object_t;
-
-
- typedef struct {
-
- RtLightHandle handle;
- RtToken token;
-
- } RIB_light_t;
-
-
- typedef struct {
-
- char *name;
- char *class; /* uniform, varying, vertex */
- char *type; /* float, integer, string, point, color */
- RtToken token;
- int n;
- RtPointer (*encodeFunc)(); /* function pointer which will encode the token ... */
- char *(*archiveFunc)(); /* function pointer which will return the string to archive the token... */
- int (*printfFunc)(); /* function pointer which will return the string to printf the token... */
-
- } RIB_var_t;
-
-
- @interface WWEveParser:Object
- {
- id tclInterp,
- rootShape,
- tmpRootShape,
- currentShape,
- tmpRIBCommand,
- viewToUpdate,
- well,
- sampleGeneratorInfoList,
- currentSampleGeneratorInfo;
- LIST *rib_var_list,
- *rib_parm_list,
- *rib_light_list,
- *rib_object_list;
- BOOL rootShapeInUse,
- ignoreColors,
- ignoreLights, ignoreShadingRate,
- ignoreShaders, firmTransforms,
- continueWithShapeBuild,
- treatAttributeBeginLikeStartShape,
- treatTransformBeginLikeAttributeBegin,
- applyShadersDirectlyToCurrentShape,
- evaluatingEveProc,
- riBegun;
-
- int evaluatingEveCommand;
- id eveProcList; // OBSOLETE!!
-
- int uniqueTag;
- char *cmdBuf;
- int cmdBufSize;
-
- // error stuff
- id errorWindow;
- id errorInfoText;
- id statusText;
- id tmpStatusText;
- int statusBufSize;
- char *statusBuf;
-
- id sceneClock;
-
- int sceneIncr;
- BOOL frozen;
-
- float *lastTimes;
- int lastTimesLength, lastTimesIndex;
-
- id articulatedVariablesBehaviorList;
- }
-
- - setStatusText:newStatusText;
- - statusText;
-
- - takeFirmTransforms:sender;
- - setFirmTransforms:(BOOL)flag;
- - (BOOL)firmTransforms;
- - showError:(char *)error;
- - closeErrorWindow:sender;
- - buildNewShapeHierarchyFromRIBFile:(const char *)filename;
- - buildNewShapeHierarchyFromRIBFile:(const char *)filename :(BOOL)closeControlsFlag;
- - buildNewShapeHierarchyFromEveFile:(const char *)filename;
- - buildNewShapeHierarchyFromEveFile:(const char *)filename :(BOOL)closeControlsFlag;
- - evaluateEveFile:(const char *)filename;
- - setRootShape:newRootShape;
- - tmpRootShape;
- - setTmpRootShape:newShape;
- - setWell:newWell;
- - installRootShapeInWell;
- - rootShape;
- - setCurrentShape:newShape;
- - currentShape;
- - tclInterp;
- - (BOOL)rootShapeInUse;
- - setRootShapeInUse:(BOOL)flag;
- - setTmpRIBCommand:newTmpRIBCommand;
- - tmpRIBCommand;
- - (BOOL)evaluatingEveCommand;
- - (BOOL)evaluatingEveProc;
- - setEvaluatingEveProc:(BOOL)newFlag;
- - evaluateEveProc:(char *)cmd;
-
- - incrementEveCommandCounter;
- - decrementEveCommandCounter;
- - evaluateEveCommand:(char *)cmd;
- - setRiBegun:(BOOL)flag;
- - (BOOL)riBegun;
-
- - setFrozen:(BOOL)flag;
- - (BOOL)frozen;
-
- - setIgnoreShadingRate:sender;
- - (BOOL)ignoreShadingRate;
- - setIgnoreColors:sender;
- - setIgnoreShaders:sender;
- - (BOOL)ignoreColors;
- - (BOOL)ignoreShaders;
- - setIgnoreLights:sender;
- - (BOOL)ignoreLights;
- - (int)uniqueTag;
-
-
- - (BOOL)treatAttributeBeginLikeStartShape;
- - setTreatAttributeBeginLikeStartShape:(BOOL)flag;
- - takeTreatAttributeBeginLikeStartShape:sender;
-
- - (BOOL)treatTransformBeginLikeAttributeBegin;
- - setTreatTransformBeginLikeAttributeBegin:(BOOL)flag;
- - takeTreatTransformBeginLikeAttributeBegin:sender;
-
- - (BOOL)applyShadersDirectlyToCurrentShape;
- - setApplyShadersDirectlyToCurrentShape:(BOOL)flag;
- - takeApplyShadersDirectlyToCurrentShape:sender;
-
- - setViewToUpdate:aView;
- - updateView;
- - camera;
-
- - synchViewWithSceneClock;
- - setSceneClock:newSceneClock;
- - sceneClock;
- - setTicksPerSecond:(float)newTicksPerSecond;
-
- - (int)sceneIncr;
- - setSceneIncr:(int)newSceneIncr;
-
- - registerCurrentSampleGeneratorName:(const char *)newCurrentSampleGeneratorName weight:(float)weight;
- - (float)currentSampleWeight;
- - (const char *)currentSampleGeneratorName;
- - setCurrentSampleGeneratorName:(const char *)newCurrentSampleGeneratorName;
-
- - articulatedVariablesBehaviorList;
- - addArticulatedVariableBehavior:newVarBehavior;
-
- - disableStatusText;
- - reenableStatusText;
-
-
- @end
-